package com.ds.springboot.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @program: springboot-1-cache
 * @description:
 * @author: Dawson.Zhang
 * @create: 2020-05-26
 **/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class PayloadDTO implements Serializable {

    private static final long serialVersionUID = 5988619597830511341L;

    /**
     * ------------------------------------这部分为 注册声明------------------------------------
     * 这个jwt的身份id
     */
    private String jti;

    /** 签发人 */
    private String iss;

    /** 过期时长(单位ms) */
    private long exp;

    /** 主题 */
    private String sub;

    /** 受众 */
    private String aud;

    /** 生效时间（1970年1月1日到现在的偏移量） */
    private LocalDateTime nbf;

    /** 签发时间（1970年1月1日到现在的偏移量） */
    private LocalDateTime iat;

    /**
     * ------------------------------------这部分为 公开声明------------------------------------
     * User
     */
    private String user;


    /**
     * ------------------------------------这部分为 私有声明------------------------------------
     * 是否是管理员
     */
    private Boolean isAdmin;
}
